// import { Inject, Get, Query } from '@midwayjs/core';
// import { CoolController, BaseController, CoolTag, TagTypes } from '@cool-midway/core';
// import { AutomationConditionEntity } from '../../entity/condition';
// import { AutomationConditionService } from '../../service/app/condition';

// /**
//  * App端-自动化条件
//  */
// // @CoolTag(TagTypes.IGNORE_TOKEN)
// @CoolController({
//   api: ['list', 'info'],
//   entity: AutomationConditionEntity,
//   service: AutomationConditionService,
// })
// export class AppAutomationConditionController extends BaseController {
//   @Inject()
//   automationConditionService: AutomationConditionService;

//   /**
//    * 根据流水线ID获取条件列表
//    */
//   @Get('/byPipeline', { summary: '根据流水线ID获取条件列表' })
//   async getConditionsByPipeline(@Query('pipelineId') pipelineId: number) {
//     // const conditions = await this.automationConditionService.list({ pipelineId });
//     return this.ok(conditions);
//   }

//   /**
//    * 获取条件类型选项
//    */
//   @Get('/conditionTypes', { summary: '获取条件类型选项' })
//   async getConditionTypes() {
//     return this.ok([
//       { label: '气象条件', value: 0 },
//       { label: '设备条件', value: 1 },
//       { label: '定时条件', value: 2 }
//     ]);
//   }

//   /**
//    * 获取气象条件类型选项
//    */
//   @Get('/weatherTypes', { summary: '获取气象条件类型选项' })
//   async getWeatherTypes() {
//     return this.ok([
//       { label: '温度', value: 0 },
//       { label: '湿度', value: 1 },
//       { label: '天气', value: 2 },
//       { label: 'PM2.5', value: 3 },
//       { label: '空气质量指数', value: 4 },
//       { label: '日出日落', value: 5 },
//       { label: '风速', value: 6 }
//     ]);
//   }

//   /**
//    * 获取比较方式选项
//    */
//   @Get('/compareTypes', { summary: '获取比较方式选项' })
//   async getCompareTypes() {
//     return this.ok([
//       { label: '大于', value: 0 },
//       { label: '小于', value: 1 },
//       { label: '等于', value: 2 },
//       { label: '不等于', value: 3 },
//       { label: '大于等于', value: 4 },
//       { label: '小于等于', value: 5 }
//     ]);
//   }

//   /**
//    * 获取我的条件列表
//    */
//   @Get('/myConditions', { summary: '获取我的条件列表' })
//   async getMyConditions(@Query('conditionType') conditionType?: number) {
//     const where: any = {};
//     if (conditionType !== undefined) {
//       where.conditionType = conditionType;
//     }
    
//     const conditions = await this.automationConditionService.list(where, { 
//       order: { createTime: 'DESC' } 
//     });
//     return this.ok(conditions);
//   }

//   /**
//    * 获取条件统计
//    */
//   @Get('/statistics', { summary: '获取条件统计' })
//   async getStatistics() {
//     const total = await this.automationConditionService.count();
//     const weatherConditions = await this.automationConditionService.count({ conditionType: 0 });
//     const deviceConditions = await this.automationConditionService.count({ conditionType: 1 });
//     const timeConditions = await this.automationConditionService.count({ conditionType: 2 });

//     return this.ok({
//       total,
//       weatherConditions,
//       deviceConditions,
//       timeConditions,
//       distribution: {
//         weather: total > 0 ? Math.round((weatherConditions / total) * 100) : 0,
//         device: total > 0 ? Math.round((deviceConditions / total) * 100) : 0,
//         time: total > 0 ? Math.round((timeConditions / total) * 100) : 0
//       }
//     });
//   }
// }